/*
************************************************************************************************************************
*                                             data types standard in our work group
*
*                                               (c) Copyright 2009-2013; 
*                           All rights reserved.  Protected by international copyright laws.
*
*filename     : BasicTypeDef.h
*brief        : basic data types definition.
*programmer(s): Z
*version      : V0.01
*update       : 2013-03-22
* LICENSING TERMS:
* ---------------
*                                                      ......
************************************************************************************************************************
* Note(s) : (1) This file is designed to keep a common data types between our work group members.when we build our own 
*               soft modules,we have to use all of the typedef data types.We will benefit:
*               1.When different compiler is used,our software module/library can still work well.
*               2.When different hardware is used,our software module/library can still work well.
*               3.When new members join the work group,he or she will be easy to understand our work.
*               4.Different members can work together for a same project easily. 
************************************************************************************************************************
*/


#ifndef  _BASIC_TYPES_DEF___PRIVATE_STANDARD_
#define  _BASIC_TYPES_DEF___PRIVATE_STANDARD_

    #if defined ( __CC_ARM   )                       /*        for ARM RealView Compiler                              */
  
        typedef  unsigned  char        TBOL;        /*  8-bit boolean or logical                                      */
        typedef  unsigned  char        T08U;        /*  8-bit unsigned integer                                        */
        typedef    signed  char        T08S;        /*  8-bit   signed integer                                        */
        typedef  unsigned  short       T16U;        /* 16-bit unsigned integer                                        */
        typedef    signed  short       T16S;        /* 16-bit   signed integer                                        */
        typedef  unsigned  int         T32U;        /* 32-bit unsigned integer                                        */
        typedef    signed  int         T32S;        /* 32-bit   signed integer                                        */
        typedef  unsigned  long  long  T64U;        /* 64-bit unsigned integer                                        */
        typedef    signed  long  long  T64S;        /* 64-bit   signed integer                                        */

        typedef            float       TF32;        /* 32-bit floating point                                          */
        typedef            double      TF64;        /* 64-bit floating point                                          */


    #elif defined ( __ICCARM__ )                      /*     for IAR Compiler                                         */
        
        typedef  unsigned  char        TBOL;        /*  8-bit boolean or logical                                      */
        typedef  unsigned  char        T08U;        /*  8-bit unsigned integer                                        */
        typedef    signed  char        T08S;        /*  8-bit   signed integer                                        */
        typedef  unsigned  short       T16U;        /* 16-bit unsigned integer                                        */
        typedef    signed  short       T16S;        /* 16-bit   signed integer                                        */
        typedef  unsigned  int         T32U;        /* 32-bit unsigned integer                                        */
        typedef    signed  int         T32S;        /* 32-bit   signed integer                                        */
        typedef  unsigned  long  long  T64U;        /* 64-bit unsigned integer                                        */
        typedef    signed  long  long  T64S;        /* 64-bit   signed integer                                        */

        typedef            float       TF32;        /* 32-bit floating point                                          */
        typedef            double      TF64;        /* 64-bit floating point                                          */


    #elif defined   (  __GNUC__  )

        typedef  unsigned  char        TBOL;        /*  8-bit boolean or logical                                      */
        typedef  unsigned  char        T08U;        /*  8-bit unsigned integer                                        */
        typedef    signed  char        T08S;        /*  8-bit   signed integer                                        */
        typedef  unsigned  short       T16U;        /* 16-bit unsigned integer                                        */
        typedef    signed  short       T16S;        /* 16-bit   signed integer                                        */
        typedef  unsigned  int         T32U;        /* 32-bit unsigned integer                                        */
        typedef    signed  int         T32S;        /* 32-bit   signed integer                                        */
        typedef  unsigned  long  long  T64U;        /* 64-bit unsigned integer                                        */
        typedef    signed  long  long  T64S;        /* 64-bit   signed integer                                        */

        typedef            float       TF32;        /* 32-bit floating point                                          */
        typedef            double      TF64;        /* 64-bit floating point                                          */       

    #endif
/*
************************************************************************************************************************
*                                                 file end
************************************************************************************************************************
*/
#endif
